/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */

export const enum CharCode {
	nullCharacter = 0,
	backspace = 0x08, // \b
	tab = 0x09, // \t
	lineFeed = 0x0a, // \n
	verticalTab = 0x0b, // \v
	formFeed = 0x0c, // \f
	carriageReturn = 0x0d, // \r
	space = 0x20, // " "
	exclamation = 0x21, // !
	doubleQuote = 0x22, // "
	hash = 0x23, // #
	percent = 0x25, // %
	ampersand = 0x26, // &
	singleQuote = 0x27, // '
	openParen = 0x28, // (
	closeParen = 0x29, // )
	asterisk = 0x2a, // *
	plus = 0x2b, // +
	comma = 0x2c, // ,
	minus = 0x2d, // -
	dot = 0x2e, // .
	slash = 0x2f, // /
	colon = 0x3a, // :
	semicolon = 0x3b, // ;
	lessThan = 0x3c, // <
	equals = 0x3d, // =
	greaterThan = 0x3e, // >
	question = 0x3f, // ?
	at = 0x40, // @
	_ = 0x5f,
	$ = 0x24,

	_0 = 0x30,
	_1 = 0x31,
	_2 = 0x32,
	_3 = 0x33,
	_4 = 0x34,
	_5 = 0x35,
	_6 = 0x36,
	_7 = 0x37,
	_8 = 0x38,
	_9 = 0x39,

	A = 0x41,
	B = 0x42,
	C = 0x43,
	D = 0x44,
	E = 0x45,
	F = 0x46,
	G = 0x47,
	H = 0x48,
	I = 0x49,
	J = 0x4a,
	K = 0x4b,
	L = 0x4c,
	M = 0x4d,
	N = 0x4e,
	O = 0x4f,
	P = 0x50,
	Q = 0x51,
	R = 0x52,
	S = 0x53,
	T = 0x54,
	U = 0x55,
	V = 0x56,
	W = 0x57,
	X = 0x58,
	Y = 0x59,
	Z = 0x5a,

	a = 0x61,
	b = 0x62,
	c = 0x63,
	d = 0x64,
	e = 0x65,
	f = 0x66,
	g = 0x67,
	h = 0x68,
	i = 0x69,
	j = 0x6a,
	k = 0x6b,
	l = 0x6c,
	m = 0x6d,
	n = 0x6e,
	o = 0x6f,
	p = 0x70,
	q = 0x71,
	r = 0x72,
	s = 0x73,
	t = 0x74,
	u = 0x75,
	v = 0x76,
	w = 0x77,
	x = 0x78,
	y = 0x79,
	z = 0x7a,

	openBracket = 0x5b, // [
	backslash = 0x5c, // \
	closeBracket = 0x5d, // ]
	caret = 0x5e, // ^
	backtick = 0x60, // `
	openBrace = 0x7b, // {
	bar = 0x7c, // |
	closeBrace = 0x7d, // }
	tilde = 0x7e, // ~
	maxAsciiCharacter = 0x7f,
	nextLine = 0x85,
	nonBreakingSpace = 0xa0,
	ogham = 0x1680,
	enQuad = 0x2000,
	emQuad = 0x2001,
	enSpace = 0x2002,
	emSpace = 0x2003,
	threePerEmSpace = 0x2004,
	fourPerEmSpace = 0x2005,
	sixPerEmSpace = 0x2006,
	figureSpace = 0x2007,
	punctuationSpace = 0x2008,
	thinSpace = 0x2009,
	hairSpace = 0x200a,
	zeroWidthSpace = 0x200b,
	narrowNoBreakSpace = 0x202f,
	mathematicalSpace = 0x205f,
	ideographicSpace = 0x3000,
	lineSeparator = 0x2028,
	paragraphSeparator = 0x2029,
	byteOrderMark = 0xfeff,
}
